﻿#pragma once
#ifndef __FMODSOUND_H__
#define __FMODSOUND_H__
#include <windows.h>
#include "fmod.h"
#include "fmod.hpp"

typedef enum GSoundType
{
	BACKGROUND_SOUND,//kiểu nhạc nền lặp đi lặp lại
	EFFECT_SOUND//kiểu nhạc hiệu ứng (bắn,nổ …) 1 lần duy nhất
}GSoundType;

class FmodSound
{
public:
	FMOD::System* soundSystem;
	GSoundType type;//kiểu âm thanh …
	char *soundPath;// đường dẫn tới file âm thanh
	FMOD::Sound* sound; //biến chưa thông tin về âm thanh << QUAN TRỌNG
	FMOD::Channel* soundChannel; // chứa thông tin về kênh âm thanh sẽ được phát
	FMOD::ChannelGroup* channelGroup;
	FmodSound(GSoundType _type,char *_soundPath);
	~FmodSound(void);

	void GUpdateSoundSystem();
	void GCreateSound();
	void GPlaySound();
	void GSetPaused(bool paused);
	bool GGetPaused();
	void GSetVolume(float _volume);
};

#endif